package com.quanyan.pay.api.alipay.vo;

import com.quanyan.pay.entity.AlipayConfigAccount;
import com.quanyan.pay.vo.AliBaseReqVo;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * Created by Zheng.Ke
 * Date 2017/3/18.
 * 具体参见文档 https://doc.open.alipay.com/doc2/apiDetail.htm?spm=a219a.7629065.0.0.PlTwKb&apiId=759&docType=4
 */
public class AliTradeRefundReqVo extends AliBaseReqVo {
    /** 商户网站唯一订单号 */
    @NotNull
    private String out_trade_no;
    /** 需要退款的金额(单位为元，两位小数) */
    @NotNull
    private BigDecimal refund_amount;
    /** 退款的原因说明 */
    private String refund_reason;
    /** 标识一次退款请求，同一笔交易多次退款需要保证唯一，如需部分退款，则此参数必传 */
    private String out_request_no;
    /** 商户操作员编号 */
    private String operator_id;
    /** 商户门店编号 */
    private String store_id;
    /** 商户机具终端编号 */
    private String terminal_id;

    public AliTradeRefundReqVo(AlipayConfigAccount alipayConfigAccount) {
        super(alipayConfigAccount);
    }

    public String getOut_trade_no() {
        return out_trade_no;
    }

    public void setOut_trade_no(String out_trade_no) {
        this.out_trade_no = out_trade_no;
    }

    public BigDecimal getRefund_amount() {
        return refund_amount;
    }

    public void setRefund_amount(BigDecimal refund_amount) {
        this.refund_amount = refund_amount;
    }

    public String getRefund_reason() {
        return refund_reason;
    }

    public void setRefund_reason(String refund_reason) {
        this.refund_reason = refund_reason;
    }

    public String getOut_request_no() {
        return out_request_no;
    }

    public void setOut_request_no(String out_request_no) {
        this.out_request_no = out_request_no;
    }

    public String getOperator_id() {
        return operator_id;
    }

    public void setOperator_id(String operator_id) {
        this.operator_id = operator_id;
    }

    public String getStore_id() {
        return store_id;
    }

    public void setStore_id(String store_id) {
        this.store_id = store_id;
    }

    public String getTerminal_id() {
        return terminal_id;
    }

    public void setTerminal_id(String terminal_id) {
        this.terminal_id = terminal_id;
    }
}
